package model

import (
	"github.com/go-playground/validator/v10"
	"time"
)

type User struct {
	// 在属性中定义校验规则
	Name string `validators:"required,min=5,max=20"` // 必填字段，最小长度5个字符，最大长度20个字符
	Age  int    `validators:"required,teener"`       // 必填字段，并且客户端需要实现我们的'teener'标签格式
}

var validate = validator.New()

func init() {
	validate.RegisterValidation("teener", func(fl validator.FieldLevel) bool {
		// User.Age 需要符合我们的需求，12-18岁。
		return fl.Field().Int() >= 12 && fl.Field().Int() <= 18
	})
}

type SomeStruct struct {
	Name string
	Age  uint8
}

type SomeStruct2 struct {
	Name string
	Age  uint8
}

type Cookie struct {
	Name        string    `json:"name"`
	Value       string    `json:"value"`
	Path        string    `json:"path"`
	Domain      string    `json:"domain"`
	MaxAge      int       `json:"max_age"`
	Expires     time.Time `json:"expires"`
	Secure      bool      `json:"secure"`
	HTTPOnly    bool      `json:"http_only"`
	SameSite    string    `json:"same_site"`
	SessionOnly bool      `json:"session_only"`
}
